


//
// IUT de Nice / Departement informatique / Module APO-C++
// Annee 2008_2009 - Package _Banque
//
// Classe AgenceBancaire - Tests unitaires du service nombreComptes
//                         (Premiere forme / cas nominaux)
//
// Auteur : K.Caucheteur - L.Rombi


public class T_AgenceBancaire_N4_2_3 {

	public static void main (String[] args) throws BUException, IPException, Throwable{
		
		 Tests.Begin("_Banque.AgenceBancaire", "1.4.0");

		   String adresse_1= "Imm. Les Magnolias Bat. 2, 8 Bd Napoleon III - NICE (06000)";
		   String adresse_2= "Villa Beau Sejour, 115 Av. de la Grande Armee - PARIS (75000)";
		   String adresse_3= "Agence des bosquets 8, avenue Clemenceau - Toulon (83000)";

		   Titulaire dupuy = new Titulaire("DUPUY", "melanie", "1978/04/25", adresse_1);
		   Titulaire durand = new Titulaire("Durand", "Paul", "1981/01/03",  adresse_2);
		   
		   Banque B1= new Banque("S2D","12345", "IUT Info", "01234567891011");
		   
		      Tests.Design("Controle du service nombreComptes (premiere forme)", 3);
		      
		      AgenceBancaire ag1 = new AgenceBancaire(B1,adresse_3);

		         Tests.Case("Client dupuy / Ouverture d'un premier compte"); {

		            ag1.ouvrirCompte(dupuy);
		            Tests.Unit(1, ag1.nombreComptes(dupuy));     
		         }

		         Tests.Case("Client dupuy / Ouverture d'un second compte"); {

		            ag1.ouvrirCompte(dupuy, 0.05f);
		            Tests.Unit(2, ag1.nombreComptes(dupuy));     
		         }

		         Tests.Case("Client dupuy / Fermeture du second compte"); {

		            ag1.fermerCompte(4000001);
		            Tests.Unit(1, ag1.nombreComptes(dupuy));     
		         }

		         Tests.Case("Client durand / Ouverture de deux comptes"); {

		            ag1.ouvrirCompte(durand);
		            ag1.ouvrirCompte(durand, 0.04f);
		            Tests.Unit(2, ag1.nombreComptes(durand));     
		         }

		         Tests.Case("Client dupuy / Fermeture du second compte"); {

		            ag1.fermerCompte(8000001);
		            Tests.Unit(0, ag1.nombreComptes(dupuy));     
		         }

		         Tests.Case("Client durand / Fermeture du premier compte"); {

		            ag1.fermerCompte(8000002);
		            Tests.Unit(1, ag1.nombreComptes(durand));     
		         }

		   Tests.End();
	}
}
